package com.psycho.sys.api.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.psycho.sys.api.entity.Appointment;
import com.psycho.sys.api.entity.Counselor;
import com.psycho.sys.api.entity.ConsultationRecord;
import com.psycho.sys.api.vo.AppointmentVO;

import java.util.List;

/**
 * 学生心理咨询服务接口
 */
public interface StudentConsultationService {
    /**
     * 查看咨询师列表
     */
    List<Counselor> listCounselors(String specialization, Double minRating);

    /**
     * 发起预约请求
     */
    boolean createAppointment(Appointment appointment);

    /**
     * 查看我的预约
     */
    List<Appointment> listMyAppointments(Long userId, Integer status);

    /**
     * 取消预约
     */
    boolean cancelAppointment(Long appointmentId, String reason);

    /**
     * 查看咨询记录
     */
    List<ConsultationRecord> listMyConsultationRecords(Long userId);

    /**
     * 查看咨询详情
     */
    ConsultationRecord getConsultationRecord(Long recordId);

    /**
     * 提交咨询评价
     */
    boolean submitFeedback(Long recordId, Integer rating, String feedback);

    /**
     * 分页查询预约列表
     */
    Page<AppointmentVO> pageAppointments(Integer current, Integer size, Long userId, Long counselorId, Integer status);
}